nginx 413 + nginx配置文件

发表于:,更新于:,By Sally
大纲
  1. 1. hehehe
    1. 1.1. nginx.conf 文件配置
    2. 1.2. 应用nginx配置
  2. 2. 行家的啊

hehehe

  1. 客户端与后台进行交互,此处为post请求,在客户端可以看到请求的参数、连接,并且没有错,但页面就是没有反应;

  2. 去服务器查看应用日志,发现并没有请求打过来,很奇怪

  3. 再查看nginx日志,发现确实有接收到该请求,但是出现413错误,于是google就需要在nginx中添加client_max_body_size 50M

    于是,虽然并不是很明白每个配置的强大含义,但是列出来,日后出错,也容易找出原因

nginx.conf 文件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# 定义Nginx运行的用户和用户组
user www-data;

# 启动nginx的进程数,通常设置成和CPU的数量相等
worker_processes 4;

# 进程文件
pid /run/nginx.pid;

#全局错误日志定义类型
error_log /var/log/nginx/error.log;

#工作模式及连接数上限
events {
worker_connections 768; #单个后台worker process进程的最大并发链接数
# multi_accept on;
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {

#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;

# 设定日志的格式
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; //出错日志在上面设置成全局的了

# 开启gzip压缩
gzip on;
gzip_disable "msie6";

#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;

# 链接超时时间
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

# 允许客户端请求的最大单文件字节数
client_max_body_size 50M;

#缓冲区代理缓冲用户端请求的最大字节数
client_body_buffer_size 128k;

# nginx跟后端服务器连接超时时间(代理连接超时)
proxy_connect_timeout 90;

# 后端服务器数据回传时间(代理发送超时)
proxy_send_timeout 90;

# 连接成功后,后端服务器响应时间(代理接收超时)
proxy_read_time 90;

# 设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffer_size 4k;

# proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_buffers 4 32k;

# 高负荷下缓冲大小(proxy_buffers*2)
proxy_busy_buffers_size 64k;

# 设定缓存文件大小,大于这个值,将从upstream服务器传
proxy_temp_file_write_size 64k;

server_names_hash_bucket_size 64;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

应用nginx配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
listen 80;
server_name 域名;
client_max_body_size 500m;
charset utf-8;
location / {
proxy_pass http://wode_servers; //这里的名字
proxy_redirect default;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
}

upstream wode_servers { //和这里的名字要相同
server local:6101; //可以这样
server 192.168.88.250:6102; //也可以这样
}

行家的啊

(总结)Nginx配置文件nginx.conf中文详解
Nginx配置文件详细说明
官方文档